/*
 * ReportingService.h
 *
 *  Created on: Mar 25, 2010
 *      Author: mike
 */

//*************************************************************************
// File Name: ReportingService.h
// Definition of ReportingService class - a class that reports the items
// on sale and/or members back to the user from file.
// "Group 3"
// CS 1C
// March 25, 2010
// Group Project: SuperWarehouse
// Due: March 25, 2010
// - KZ's comment
//*************************************************************************

#ifndef REPORTINGSERVICE_H_
#define REPORTINGSERVICE_H_

#include <iostream>
#include <fstream>
#include <iomanip>
#include "config.h"
#include "MemberList.h"
#include "SaleItemList.h"
#include "GenericList.h"

using namespace std;

class ReportingService {
public:
	ReportingService();
	virtual ~ReportingService();

	// Sales reports
	string listAvailableSalesReports();
	void printSalesReport(string reportName);
	bool writeSalesReportForDay(time_t timestamp,
			SaleItemList *salesList, int numSuper, int numBasic);

	// Member reports
	void printMemberList(MemberList *members);
	void printExpiringMemberList(MemberList *members);

private:
	string filenameForSalesReportDay(time_t timestamp);
};

#endif /* REPORTINGSERVICE_H_ */
